Ext.define('YAPP.view.item.List', {
	extend : 'Ext.grid.Panel',
	alias : 'widget.itemslist',
	layout : 'fit',
	store : 'Item',
	initComponent : function() {
		this.dockedItems = [ {
			xtype : 'toolbar',
			items : [ {
				xtype : 'combobox',
				name : 'cbFase',
				fieldLabel : 'Fase',
				displayField : '_nombre',
				queryMode : 'local',
				valueField : 'id',
			}, {
				iconCls : 'icon-add',
				text : 'Nuevo Item',
				scope : this,
				action : 'crear',
			}, '|', {
				iconCls : 'icon-delete',
				text : 'Eliminar Item',
				disabled : true,
				itemId : 'delete',
				action : 'borrar',
				scope : this,
			} ]
		} ];
		
		this.columns = [ {
			header : 'Nombre',
			sortable : true,
			dataIndex : '_nombre',
			flex : 1
		}, {
			header : 'Duracion',
			sortable : true,
			dataIndex : '_duracion',
			flex : 1
		}, {
			header : 'Descripcion',
			sortable : true,
			dataIndex : '_descripcion',
			flex : 1
		}, {
			header : 'Condicionado',
			sortable : true,
			dataIndex : '_condicionado',
			flex : 1
		}, {
			header : 'Tipo de Item',
			sortable : true,
			dataIndex : '_tipo_item',
			flex : 1,
			renderer : renderizador_lista_item
		}, {
			header : 'Version',
			sortable : true,
			dataIndex : '_version',
			flex : 1
		}, {
			header : 'Estado',
			sortable : true,
			dataIndex : '_estado',
			flex : 1
		},
		 { xtype: 'datecolumn' ,header: 'Fecha de Inicio', sortable : true, dataIndex:
		 '_fecha_inicio', format: 'd/m/Y', flex: 1},
		 {xtype: 'datecolumn' , header: 'Fecha de Fin', sortable : true, format: 'd/m/Y', dataIndex: '_fecha_fin',
		 flex: 1},
		{
			header : 'Padre',
			sortable : true,
			dataIndex : '_padre',
			flex : 1,
			renderer : renderizador_lista_item
		}, {
			header : 'Antecesor',
			sortable : true,
			dataIndex : '_antecesor',
			flex : 1,
			renderer : renderizador_lista_item
		},
		 {
		 	hidden : true,
			header : 'Item ID',
			sortable : true,
			dataIndex : '_item_id',
			flex : 1,
			renderer : renderizador_lista_item
		}

		];
		this.callParent();
		this.getSelectionModel().on('selectionchange', this.onSelectChange, this);
	},
	onSelectChange : function(selModel, selections) {
		this.down('#delete').setDisabled(selections.length === 0);
	}

});

function renderizador_lista_item(val) {

	//console.log(val)
	if (val != null && val._nombre != null) {

		return val._nombre;
	}
	return val;
}
